package com.jdew.thkj.network.api;

import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonObject;
import com.jdew.thkj.bean.BankCardBean;
import com.jdew.thkj.bean.BannerBean;
import com.jdew.thkj.bean.CatesBean;
import com.jdew.thkj.bean.CountyAreaBean;
import com.jdew.thkj.bean.CouponBean;
import com.jdew.thkj.bean.DynamicLogoBean;
import com.jdew.thkj.bean.FansBean;
import com.jdew.thkj.bean.HuiFenBean;
import com.jdew.thkj.bean.HwBean;
import com.jdew.thkj.bean.JDBean;
import com.jdew.thkj.bean.JDListBean;
import com.jdew.thkj.bean.JDOrderBean;
import com.jdew.thkj.bean.KeFuWxBean;
import com.jdew.thkj.bean.LiangHaoBean;
import com.jdew.thkj.bean.LunBoBean;
import com.jdew.thkj.bean.NewCodeBean;
import com.jdew.thkj.bean.NineBean;
import com.jdew.thkj.bean.OnlineUpBean;
import com.jdew.thkj.bean.OrderBean;
import com.jdew.thkj.bean.ParseTklBean;
import com.jdew.thkj.bean.PddCollectionBean;
import com.jdew.thkj.bean.PddDetailBean;
import com.jdew.thkj.bean.PddOrderBean;
import com.jdew.thkj.bean.PddlinkBean;
import com.jdew.thkj.bean.ProductBean;
import com.jdew.thkj.bean.ProductDetaliBean;
import com.jdew.thkj.bean.RisingRecordBean;
import com.jdew.thkj.bean.RunningLightsBean;
import com.jdew.thkj.bean.ScoreBean;
import com.jdew.thkj.bean.SearchBean;
import com.jdew.thkj.bean.ShareCodeBean;
import com.jdew.thkj.bean.TbCollectionBean;
import com.jdew.thkj.bean.TbDetailBean;
import com.jdew.thkj.bean.TbImageDetailBean;
import com.jdew.thkj.bean.TeanBean;
import com.jdew.thkj.bean.TiXianBean;
import com.jdew.thkj.bean.TiXianDetailBean;
import com.jdew.thkj.bean.TklBean;
import com.jdew.thkj.bean.TokenBean;
import com.jdew.thkj.bean.UserBean;
import com.jdew.thkj.bean.VersionBean;
import com.jdew.thkj.bean.WelcomeBean;
import com.jdew.thkj.bean.ZeroBuyBean;
import com.jdew.thkj.bean.ZhaoshangBean;
import com.jdew.thkj.bean.pddBean;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import retrofit2.http.Query;
import rx.Observable;

/**
 * Created by sushuai on 2016/3/25.
 */
public interface RequestApi {
    @FormUrlEncoded
    @POST("Commodity/UserLogin")
    Observable<UserBean> Login(@Field("H_UserName") String H_UserName, @Field("H_UserPassword") String H_UserPassword);

    @FormUrlEncoded
    @POST("Commodity/AnAppAddUserRegister")
    Observable<JSONObject> UserRegister(@Field("H_UserName") String H_UserName, @Field("H_UserPassword") String H_UserPassword, @Field("H_UserCode") String H_UserCode);

    @FormUrlEncoded
    @POST("Commodity/ModifyUserPwd")
    Observable<JSONObject> ModifyUserPwd(@Field("H_UserName") String H_UserName, @Field("H_UserPassword") String H_UserPassword, @Field("H_NewPassword") String H_NewPassword);

    @GET("Commodity/GetDepartmentStore")
    Observable<ZhaoshangBean> GetDepartmentStore(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetLive")
    Observable<ZhaoshangBean> GetLive(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetDiscount")
    Observable<ProductBean> GetDiscount(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetDiscountY")
    Observable<ProductBean> GetDiscountY(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetDiscountJ")
    Observable<ProductBean> GetDiscountJ(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetDiscountX")
    Observable<ProductBean> GetDiscountX(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetDiscountYH")
    Observable<ProductBean> GetDiscountYH(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetHigh")
    Observable<ProductBean> GetHigh(@Query("PageIndex") int PageIndex);

    @GET("Commodity/GetLowPrice")
    Observable<ProductBean> GetLowPrice(@Query("PageIndex") int PageIndex);

    @GET("cp/coupon")
    Observable<ProductDetaliBean> GetProductDetail(@Query("activityId") String activityId, @Query("itemId") String itemId);

    @GET("Commodity/GetSuperSearch")
    Observable<SearchBean> GetSuperSearch(@Query("PageIndex") int PageIndex, @Query("SpName") String SpName, @Query("phone") String phone);

    @FormUrlEncoded
    @POST("Commodity/UploadAvatar")
    Observable<JSONObject> UploadUserIcon(@Field("H_UserName") String H_UserName, @Field("H_NewPassword") String H_NewPassword);

//    @GET("Commodity/LoadAvatar")
//    Observable<JSONObject> LoadAvatar(@Query("phone") String  phone );


    @GET("Commodity/Code")
    Observable<JSONObject> getCode(@Query("phone") String phone);

    @GET("tklservice")
    Observable<JSONObject> getLink(@Query("id") String id, @Query("tkl") String tkl);

    @FormUrlEncoded
    @POST("Commodity/AnBackUserPwd")
    Observable<JSONObject> BackUserPwd(@Field("H_UserName") String H_UserName, @Field("H_UserPassword") String H_UserPassword, @Field("H_NewPassword") String H_NewPassword);

    @FormUrlEncoded
    @POST("Commodity/AppAddAppkey")
    Observable<JSONObject> AppAddAppkey(@Field("Appkey") String Appkey
            , @Field("APPSecret") String APPSecret, @Field("PId") String PId, @Field("H_UserName") String H_UserName);

    //默认
    @GET("items/search.json")
    Observable<HwBean> Moren(@Query("toPage") String toPage, @Query("sortType") String sortType);

    @GET("Commodity/AddToken")
    Observable<JSONObject> AddToken(@Query("token") String token, @Query("phone") String phone);

    @GET("Commodity/AddMPid")
    Observable<JSONObject> AddMPid(@Query("Mpid") String Mpid, @Query("phone") String phone);

    @FormUrlEncoded
    @POST("generalize/guideAdd.json ")
    Observable<JSONObject> guideAdd(@Field("name") String name
            , @Field("categoryId") String categoryId, @Field("account1") String account1, @Field("t") String t,
                                    @Field("pvid") String pvid, @Field("_tb_token") String _tb_token);

    @GET("Commodity/GetBanbenTlh")
    Observable<VersionBean> GetBanbenTlh();

    @GET("Commodity/GetTLHListMap")
    Observable<LunBoBean> GetTLHListMap();

    //淘乐惠新版接口
    //注册接口
    @POST("TlhApi/AddUser")
    Observable<JSONObject> AddUser(@Header("Cookie") String sessionId, @Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetCode")
    Observable<JSONObject> GetCode(@Query("phone") String phone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetCode")
    Observable<JSONObject> GetCode(@Query("phone") String phone, @Query("typeId") int typeId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //登录接口
    @POST("TlhApi/UserLogin")
    Observable<UserBean> UserLogin(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    //上传头像shibushi
    @POST("TlhApi/UploadAvatar")
    Observable<JSONObject> UploadAvatar(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/LoadAvatar")
    Observable<JSONObject> LoadAvatar(@Query("Phone") String Phone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    //UserName 真实姓名      UserAlipay//支付宝账号    //UserPhone 手机号
    @GET("TlhApi/SetUserAlipay")
    Observable<JSONObject> SetUserAlipay(@Header("Cookie") String sessionId, @Query("UserName") String UserName, @Query("UserAlipay") String UserAlipay, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    @GET("TlhApi/SetUserWxId")
    Observable<JSONObject> SetUserWxId(@Query("OppenId") String OppenId, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    //上传微信头像
    @POST("TlhApi/UpWxloadAvatar")
    Observable<JSONObject> UpWxloadAvatar(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //首页轮播图
    @GET("TlhApi/GetBanner")
    Observable<LunBoBean> GetBanner(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //可点击的轮播图
    @GET("TlhApi/GetBannerList")
    Observable<BannerBean> GetBannerList(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //可点击的轮播图
    @GET("TlhApi/GetActiveBotationList")
    Observable<BannerBean> GetActiveBotationList(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //首页列表接口
    @GET("TlhApi/GetHomeList")
    Observable<ZhaoshangBean> GetHomeList(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //修改昵称接口
    @GET("TlhApi/SetNickName")
    Observable<JSONObject> SetNickName(@Query("NickName") String NickName, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    //找回密码接口
    @POST("TlhApi/SetLoginPwd")
    Observable<JSONObject> SetLoginPwd(@Field("UserPhone") String UserPhone, @Field("UserPwd") String UserPwd, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //修改密码接口
    @POST("TlhApi/SetLoginPwd")
    Observable<JSONObject> SetLoginPwd(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetWillpush")
    Observable<ZhaoshangBean> GetWillpush(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);
    @GET("TlhApi/GetChoice")
    Observable<ZhaoshangBean> GetChoice(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //查询上级姓名
    @GET("TlhApi/GetBoosPhone")
    Observable<JSONObject> GetBoosPhone(@Header("Cookie") String sessionId, @Query("BoosPhone") String BoosPhone, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //查询上级姓名
    @GET("TlhApi/SetBoosPhone ")
    Observable<JSONObject> SetBoosPhone(@Header("Cookie") String sessionId, @Query("BoosPhone") String BoosPhone, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //获取上级token
    @GET("TlhApi/GetUserToken ")
    Observable<JSONObject> GetUserToken(@Query("UserPhone") String UserPhone);

    //解析淘口令
    @GET("TlhApi/GetTkl")
    Observable<ParseTklBean> GetTkl(@Query("tkl") String tkl);

    //获取优惠券id
    @GET("TlhApi/GetCoupon")
    Observable<JSONObject> GetCoupon(@Query("CouPonId") String CouPonId);

    //链接转淘口令
    @GET("TlhApi/SetTkl")
    Observable<TklBean> SetTkl(@Query("Url") String Url);

    //详情实体
    @GET("TlhApi/GetDetails")
    Observable<JSONObject> GetDetails(@Query("itemId") String itemId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //生成二维码链接
    @GET("TlhApi/GetURl")
    Observable<JSONObject> GetURl(@Query("tkl") String tkl, @Query("url") String url, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //查券接口
    @GET("TlhApi/GetJuan")
    Observable<JSONObject> GetJuan(@Query("ItemId") String ItemId);

    //查询收藏状态
    @GET("TlhApi/GetState")
    Observable<JSONObject> GetState(@Query("UserName") String UserName, @Query("ItemId") String ItemId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //取消收藏
    @GET("TlhApi/CanceltheCollection")
    Observable<JSONObject> CanceltheCollection(@Query("UserName") String UserName, @Query("ItemId") String ItemId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //获取收藏列表
    @GET("TlhApi/Getcollection")
    Observable<JSONObject> Getcollection(@Query("UserName") String UserName, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //获取收藏列表
    @GET("TlhApi/GetCollectionList")
    Observable<TbCollectionBean> GetCollectionList(@Query("UserName") String UserName, @Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //收藏
    @POST("TlhApi/YJCollection")
    Observable<JSONObject> YJCollection
    (@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //今日预估收益 （包含结算）
    @GET("TlhApi/GetTodayMoney")
    Observable<JSONObject> GetTodayMoney(@Query("Pid") String Pid, @Query("time") String time, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //本月预估收益 （待结算）
    @GET("TlhApi/GetThisMonthMoney")
    Observable<JSONObject> GetThisMonthMoney(@Query("Pid") String Pid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //上月收益 （结算）
    @GET("TlhApi/GetLastMonthMoney")
    Observable<JSONObject> GetLastMonthMoney(@Query("Pid") String Pid, @Query("phone") String phone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //上月收益 （结算）
    @GET("TlhApi/GetUserInfo")
    Observable<TiXianBean> GetUserInfo(@Header("Cookie") String sessionId, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //推荐奖励
    @GET("TlhApi/GetTeamMoenyInfo")
    Observable<TiXianBean> GetTeamMoenyInfo(@Header("Cookie") String sessionId, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //获取版本号
    @GET("TlhApi/GetBanben")
    Observable<VersionBean> GetBanben(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //提现接口
    @GET("TlhApi/SetPresentData")
    Observable<JSONObject> SetPresentData(@Header("Cookie") String sessionId, @Query("UserPhone") String UserPhone, @Query("UserMoeny") String UserMoeny, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //提现接口
    @GET("TlhApi/SetCashWithdrawals")
    Observable<JSONObject> SetCashWithdrawals(@Header("Cookie") String sessionId, @Query("UserPhone") String UserPhone, @Query("UserMoeny") String UserMoeny, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //微信登录接口

    @POST("TlhApi/UserWxLogin")
    Observable<UserBean> UserWxLogin(@Header("Cookie") String sessionId, @Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetUserMoney")
        //获取优惠券余额接口
    Observable<JSONObject> GetUserMoney(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/SetUserMoney")
        //优惠券充值接口
    Observable<JSONObject> SetUserMoney(@Query("UserPhone") String UserPhone, @Query("Code") String Code, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/SetBuy")
        //优惠券兑换接口
    Observable<JSONObject> SetBuy(@Query("UserPhone") String UserPhone, @Query("Money") String Money, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetCateList")
        //商品类目接口
    Observable<CatesBean> GetCateList(@Query("CateId") String CateId, @Query("sort_type") String sort_type, @Query("page") String page);

    @GET("TlhApi/Getlookup")
        //商品类目接口
    Observable<CatesBean> Getlookup(@Query("q") String q, @Query("sort") String sort, @Query("page") String page);

    @GET("TlhApi/Getlookups")
        //商品类目接口
    Observable<JSONObject> Getlookups(@Query("q") String q, @Query("sort") String sort, @Query("PageIndex") String PageIndex, @Query("HasCoupon") Boolean HasCoupon, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetVoucherCenter")
        //充值中心
    Observable<JSONObject> GetVoucherCenter(@Query("PageIndex") String PageIndex, @Query("q") String q, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetSeniorUserList")
    Observable<FansBean> GetSeniorUserList(@Query("UserPhone") String UserPhone, @Query("UserPid") String UserPid);

    @GET("TlhApi/GetUserList")
    Observable<FansBean> GetUserList(@Query("UserCode") String UserCode, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetSupermemberList")
    Observable<FansBean> GetSupermemberList(@Query("UserPhone") String UserPhone, @Query("UserPid") String UserPid);

    @GET("TlhApi/GetLastMonthMoneyYG")
    Observable<JSONObject> GetLastMonthMoneyYG(@Query("Pid") String Pid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetOrderDetail")
    Observable<OrderBean> GetOrderDetail(@Query("PageIndex") int PageIndex, @Query("Pid") String Pid, @Query("state") String state, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetOrderDetailNews")
    Observable<OrderBean> GetOrderDetailNew(@Query("PageIndex") int PageIndex, @Query("UserId") String UserId, @Query("state") String state, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetTimeMonthMoney")
    Observable<JSONObject> GetTimeMonthMoney(@Query("Pid") String Pid, @Query("phone") String phone, @Query("LeftTime") String LeftTime, @Query("RightTime") String RightTime, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetTeam")
    Observable<TeanBean> GetTeam(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetUserList")
    Observable<FansBean> GetUserList(@Query("UserPhone") String UserPhone, @Query("SpareTwo") String SpareTwo, @Query("PageIndex") String PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetLevel")
    Observable<JSONObject> GetLevel(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetUserlevel")
    Observable<JSONObject> GetUserlevel(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetRecommendedAwards")
    Observable<JSONObject> GetRecommendedAwards(@Query("UserPhone") String UserPhone, @Query("LastMonthTime") String LastMonthTime, @Query("ThisMonthTime") String ThisMonthTime, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetOrder")
    Observable<OrderBean> GetOrder(@Query("Order") String order, @Query("Pid") String pid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetOrderNew")
    Observable<OrderBean> GetOrderNew(@Query("Order") String order, @Query("UserId") String UserId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/SetLoginTime")
    Observable<JSONObject> SetLoginTime(@Query("UserPhone") String UserPhone, @Query("AndroidOrIos") String AndroidOrIos, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetSessionId")
    Observable<JSONObject> GetSessionId(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/CreateCheckCodeImage")
    Observable<JSONObject> CreateCheckCodeImage(@Header("Cookie") String sessionId, @Header("Content-Type") String type, @Header("Accept") String accept);


    //拼多多接口
    @GET("TlhApi/Category")
    Observable<pddBean> GetCategory(@Query("opt_id") String opt_id, @Query("PageIndex") int PageIndex, @Query("sort_type") String sort_type, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetSingleproduct")
    Observable<PddDetailBean> GetSingleproduct(@Query("goodsid") String goodsid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/Promotion")
    Observable<PddlinkBean> GetPromotion(@Query("Goodsid") String goodsid, @Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/Keyword")
    Observable<pddBean> GetPddSuper(@Query("PageIndex") String PageIndex, @Query("keyword") String keyword, @Query("sort_type") String sort_type, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/PDDGetState")
    Observable<JSONObject> PDDGetState(@Query("UserPhone") String UserPhone, @Query("Goodsid") String Goodsid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/PDDCollection")
    Observable<JSONObject> PDDCollection(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/JdCollection")
    Observable<JSONObject> JdCollection(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/JdGetState")
    Observable<JSONObject> JdGetState(@Query("UserId") String UserId, @Query("Goodsid") String Goodsid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/JdCanceltheCollection")
    Observable<JSONObject> JdCanceltheCollection(@Query("UserId") String UserId, @Query("Goodsid") String Goodsid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/PDDCanceltheCollection")
    Observable<JSONObject> PDDCanceltheCollection(@Query("UserPhone") String UserPhone, @Query("Goodsid") String Goodsid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/JdGetcollection")
    Observable<PddCollectionBean> JdGetcollection(@Query("UserId") String UserId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/PDDGetcollection")
    Observable<PddCollectionBean> PDDGetcollection(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetActivity")
    Observable<JSONObject> GetActivity(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetGlobalShopping")
    Observable<JSONObject> GetGlobalShopping(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetHighCommission")
    Observable<JSONObject> GetHighCommission(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/PDDGetOrder")
    Observable<PddOrderBean> PDDGetOrder(@Query("UserPhone") String UserPhone, @Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetPDDTodayMoney")
    Observable<JSONObject> GetPDDTodayMoney(@Query("UserPhone") String UserPhone, @Query("time") String time, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetPDDThisMonthMoney")
    Observable<JSONObject> GetPDDThisMonthMoney(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetPDDLastMonthMoneyYG")
    Observable<JSONObject> GetPDDLastMonthMoneyYG(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetPDDLastMonthMoney")
    Observable<JSONObject> GetPDDLastMonthMoney(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //解析二合一链接
    @GET("TlhApi/GetTBItemId")
    Observable<JSONObject> GetTBItemId(@Query("e") String e, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //TB商品类目接口
    @GET("TlhApi/GetTBCateList")
    Observable<JSONObject> GetTBCateList(@Query("CateId") String CateId, @Query("sort_type") String sort_type, @Query("Page") int Page, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //详情转链接口
    @POST("TlhApi/GetTBItemConvertNew")
    Observable<TbDetailBean> GetTBItemConvert(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //获取银行卡信息
    @GET("TlhApi/GetBankcard")
    Observable<JSONObject> GetBankcard(@Header("Cookie") String sessionId, @Query("Card") String Card, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //绑定银行卡
    @POST("TlhApi/SetUserBankCard")
    Observable<JSONObject> SetUserBankCard(@Header("Cookie") String sessionId, @Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //查询用户是否已经绑定银行卡
    @GET("TlhApi/GetUserBankCardId")
    Observable<BankCardBean> GetUserBankCardId(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //邀请好友链接
    @GET("TlhApi/InvitationUser")
    Observable<JSONObject> InvitationUser(@Query("UserPhone") String UserPhone, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //图文详情
    @GET("TlhApi/GetCommodityPicture")
    Observable<JSONObject> GetCommodityPicture(@Query("ItemId") String ItemId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //升级次数接口
    @GET("TlhApi/GetRemainder")
    Observable<OnlineUpBean> GetRemainder(@Header("Cookie") String sessionId, @Query("Guid") String Guid, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //提现记录
    @GET("TlhApi/GetPresentRecord")
    Observable<TiXianDetailBean> GetPresentRecord(@Query("UserPhone") String UserPhone, @Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);
    //提现记录
    @GET("TlhApi/GetPresentRecordNew")
    Observable<TiXianDetailBean> GetPresentRecordNew(@Query("UserPhone") String UserPhone, @Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    @POST("TlhApi/SetTwoLevelCipher")
    Observable<JSONObject> SetTwoLevelCipher(@Body HashMap<String, Object> map, @Header("staffid") String staffId, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //在线升级
    @POST("TlhApi/GetUserUpgrade")
    Observable<JSONObject> GetUserUpgrade(@Header("Cookie") String sessionId, @Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //飞猪
    @POST("TlhApi/GetFlyingPig")
    Observable<JSONObject> GetFlyingPig(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //天猫超市
    @POST("TlhApi/Getchaoshi")
    Observable<JSONObject> Getchaoshi(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //天猫国际
    @POST("TlhApi/Getimport")
    Observable<JSONObject> Getimport(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    @GET("Service/GetToken")
    Observable<TokenBean> GetToken(@Query("staffId") String staffId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce);

    @GET("TlhApi/GetTkl")
    Observable<JSONObject> GetTkl(@Query("tkl") String tkl, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //超级抢购
    @GET("TlhApi/GetRealTimeSales")
    Observable<JSONObject> GetRealTimeSales(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //24小时
    @GET("TlhApi/GetAllDaySales")
    Observable<JSONObject> GetAllDaySales(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    //2小时
    @GET("TlhApi/GetDailyPush ")
    Observable<JSONObject> GetDailyPush(@Query("PageIndex") int PageIndex, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/RisingRecord")
    Observable<RisingRecordBean> RisingRecord(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/GetCommunityNew")
    Observable<HuiFenBean> GetCommunity(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/AddShareCountNew")
    Observable<JSONObject> AddShareCount(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/RunningLights")
    Observable<RunningLightsBean> RunningLights(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetGlobalRoaming")
    Observable<CountyAreaBean> GetGlobalRoaming(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/GetJDCategory")
    Observable<JDBean> GetJDCategory(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/Goods")
    Observable<JDBean> GetJDGoods(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/Bysubunionid")
    Observable<JSONObject> Bysubunionid(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/GetJdMoney")
    Observable<JSONObject> GetJdMoney(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/JdGetOrder")
    Observable<JDOrderBean> JdGetOrder(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetFreeList")
    Observable<ZeroBuyBean> GetFreeList(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/SetUserFreeOrder")
    Observable<JSONObject> SetUserFreeOrder(@Query("UserId") String UserId, @Query("Order_sn") String Order_sn, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetLogoList")
    Observable<DynamicLogoBean> GetLogoList(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetActivityHdk  ")
    Observable<NineBean> GetActivityHdk(@Query("PageIndex") int PageIndex,@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @Multipart
    @POST("TlhApi/SetUserQrCode")
    Observable<JSONObject> SetUserQrCode(@PartMap HashMap<String, Object> map, @Part MultipartBody.Part body, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/GetQrCode")
    Observable<KeFuWxBean> GetQrCode(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/DisplayQrCode")
    Observable<JSONObject> DisplayQrCode(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/setAliPlayCustomNumber")
    Observable<JSONObject> setAliPlayCustomNumber(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/CustomNumber")
    Observable<JSONObject> CustomNumber(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/setCustomNumber")
    Observable<NewCodeBean> setCustomNumber(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/OutUserCode")
    Observable<NewCodeBean> OutUserCode(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/Displaylist")
    Observable<JDListBean> Displaylist(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/SetPublisher")
    Observable<JSONObject> SetPublisher(@Query("Token") String Token, @Query("UserId") String UserId,@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetPosterInfo")
    Observable<ShareCodeBean> GetPosterInfo(@Query("code") String code, @Query("logoUrl") String logoUrl, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/Details")
    Observable<JDListBean> Details(@Body HashMap<String, Object> map,@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetScore")
    Observable<ScoreBean> GetScore(@Query("ItemId") String ItemId, @Query("Category") String Category, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetGetShopImg")
    Observable<ScoreBean> GetGetShopImg(@Query("ItemId") String ItemId, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @Multipart
    @POST("TlhApi/ReleaseData")
    Observable<JSONObject> ReleaseData(@PartMap Map<String, RequestBody> data, @Part() List<MultipartBody.Part> fileList, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/GetStartPage")
    Observable<WelcomeBean> GetStartPage(@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/BonusSum")
    Observable<JSONObject> BonusSum(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @GET("TlhApi/GetCouponsNew")
    Observable<CouponBean> GetCouponsNew(@Query("itemid") String ItemId, @Query("couponid") String couponid,@Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);


    @GET("TlhApi/GetTBDetailsNew")
    Observable<TbImageDetailBean> GetTBDetailsNew(@Query("ItemId") String ItemId,@Query("category") String category, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);

    @POST("TlhApi/ToPromoteTheDetail")
    Observable<LiangHaoBean> ToPromoteTheDetail(@Body HashMap<String, Object> map, @Header("staffid") String staffid, @Header("timestamp") String timestamp, @Header("nonce") String nonce, @Header("signature") String signature);
}
